package cn.itcast.dao.system;

import cn.itcast.domain.system.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserDao {
  //查询所有的用户  select * from pe_dept  传智播客员工登陆，就应该只能看到传智的部门信息.
  List<User> findAll(String companyId);

  //根据id查找用户
  User findById(String id);

  //新增用户
  void save(User user);

  //更新用户
  void update(User user);

  //根据id删除用户
  boolean delete(String id);

  //根据用户的id查找用户的角色个数
  long findUserRoleByUserId(String id);

  //1. 先删除用户的角色
  void deleteUserRoleByUserId(String userid);

  //2. 给当前用户添加对应角色
  void addUserRoles(@Param("userid") String userid,@Param("roleIds") String[] roleIds);

  //根据邮箱查找用户
  User findByEmail(String email);
}
